
// 518.零钱兑换II
class Solution {
public:
    int change(int amount, vector<int>& nums) {
        // 依旧是完全背包问题
        int n = nums.size();
        vector<double> dp(amount + 1);
        dp[0] = 1;
        for(int i = 1; i <= n ; i++)
        {
            for(int j = nums[i - 1]; j <= amount ;j++)
                dp[j] += dp[j - nums[i - 1]];
        }
        return dp[amount];
    }
};